package temp;

import java.lang.reflect.InvocationTargetException;
import java.text.ParseException;
import java.util.Date;
import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;

import temp.model.information.ProjectInfo;
import temp.model.information.dto.ProjectInfoDto;

import com.github.pagehelper.PageInfo;
import com.hanhai.zrb.model.project.dto.UserProjectRefDto;
import com.hanhai.zrb.model.project.vo.MyProjectInfoVo;

public interface ProjectInfoService {
	ProjectInfo getProByAutoId(int id);
	

	ProjectInfoVo getProVoByAutoId(int id);

	public Integer queryCountByProName(String projectName);
	PageInfo queryPageByCondition(ProjectInfoDto projectInfoDto);

	List<ProjectInfoVo> queryByCondition(ProjectInfoDto dto);

	ProjectInfoVo getPurposeAndAssetTypeByAutoId(ProjectInfoVo projectInfoVo);
	void updateStatus(ProjectInfo record);
	
	Map<Integer,ProjectInfoVo> queryByIdList(List<Integer> list);

	int saveProject(ProjectInfo record);
	
	void updateProject(ProjectInfo record);
	
	List<MyProjectInfoVo> queryMyProjectList(Date publishTime,boolean forward,Integer userId,Integer limit) throws IllegalAccessException, InvocationTargetException;
	
	List<ProjectInfo> getProjectByNameAndStatus(String name,Integer status);
	
	List<ProjectInfoVo> getByIdList(List<Integer> list);
	List<ProjectInfoVo> listAll();
	
}
